package org.example.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;

/**
 * JWT配置类
 * 统一管理JWT令牌的配置参数
 */
@Configuration
public class JwtConfig {

    @Value("${jwt.secret}")
    private String jwtSecret;

    @Value("${jwt.miniapp.token-expiration:86400000}")  // 默认24小时
    private long tokenExpiration;
    
    @Value("${jwt.miniapp.refresh-token-expiration:2592000000}")  // 默认30天
    private long refreshTokenExpiration;
    
    @Value("${jwt.miniapp.temporary-token-expiration:600000}")  // 默认10分钟
    private long temporaryTokenExpiration;

    /**
     * 获取JWT密钥
     */
    public String getJwtSecret() {
        return jwtSecret;
    }
    
    /**
     * 获取小程序标准令牌过期时间（毫秒）
     */
    public long getTokenExpiration() {
        return tokenExpiration;
    }
    
    /**
     * 获取小程序刷新令牌过期时间（毫秒）
     */
    public long getRefreshTokenExpiration() {
        return refreshTokenExpiration;
    }
    
    /**
     * 获取临时令牌过期时间（毫秒）
     */
    public long getTemporaryTokenExpiration() {
        return temporaryTokenExpiration;
    }
}
